/*
func IsAbs(path string) bool // 判断是否是一个绝对路径
func Split(path string) (dir, file string) // 将路径分割为路径和文件名
func Join(elem ...string) string // 将多个字符串合并为一个路径
func Ext(path string) string // 返回路径中扩展部分
func Base(path string) string // 返回路径的最后一个元素
func Dir(path string) string // 返回路径中目录部分
func Clean(path string) string // 返回同目录的最短路径
func Match(pattern, name string) (matched bool, err error) // 正则是否匹配路径（shell 文件名匹配）
*/
package main

//path实现了对斜杠分隔的路径进行操作的函数。
import (
	"fmt"
	"path"
)

func main() {
	// 判断是否是一个绝对路径
	//dir:="/Users/liuqingzheng/go/src/gin_test"
	file := "/Users/liuqingzheng/go/src/gin_test/static/css/common.css"
	isABS := path.IsAbs(file)
	fmt.Println(isABS)

	// 将路径分割为路径和文件名
	dir := "/Users/liuqingzheng/go/src/gin_test/static/css/common.css"
	dir1, file1 := path.Split(dir)
	fmt.Println(dir1, file1) // Users/liuqingzheng/go/src/gin_test/static/css/   common.css

	// 将多个字符串合并为一个路径
	dirJoin := path.Join("Users/liuqingzheng/go/src/gin_test/static/", "css", "common.css")
	fmt.Println(dirJoin) // Users/liuqingzheng/go/src/gin_test/static/css/common.css

	// 返回路径中扩展
	pf := "Users/liuqingzheng/go/src/gin_test/static/css/common.css"
	fileExt := path.Ext(pf)
	fmt.Println(fileExt) // .css

	// 返回路径的最后一个元素
	pf2 := "Users/liuqingzheng/go/src/gin_test/static/css/common.css"
	dirBase := path.Base(pf2)
	fmt.Println(dirBase) // common.css

	// 返回路径中目录部分
	pf3 := "Users/liuqingzheng/go/src/gin_test/static/css/common.css"
	dir3 := path.Dir(pf3)
	fmt.Println(dir3) // Users/liuqingzheng/go/src/gin_test/static/css

	// 返回同目录的最短路径
	dir4 := "/usr/../etc/../etc/ssh"
	fmt.Println(path.Clean(dir4)) // /etc/ssh

	// 正则是否匹配路径
	isMatch, err := path.Match("*.json", "a.json") // true <nil>
	//isMatch, err := path.Match("*.xml", "a.json") //false <nil>
	fmt.Println(isMatch, err)
}
